1. Technical Field
The invention is related to automatically optimizing network coding, and in particular, to a system and method for performing network coding at nodes in the network along transmission paths between senders and receivers for increasing an amount of information that can be reliably broadcast from a sender to a collection of receivers through the network.
2. Related Art
In general, a multicast network can be described as a network with directed edges. There are a number of existing schemes for routing network flows in an attempt to optimize the capacity of such networks.
For example, one conventional scheme has demonstrated that if coding is allowed at internal nodes in a network, then the multicast capacity is in general higher than if no such coding is allowed. Further, this scheme has also demonstrated the existence of multicast codes that would achieve a natural upper bound on a multicast capacity by applying a max-flow min-cut theorem to the network between a sender and a number of receivers. Unfortunately, the results offered by this scheme depend on random coding arguments without providing any construction techniques for practical multicast codes.
Another fairly recently offered scheme for coding acyclic networks has demonstrated a connection between algebraic geometry and network coding. This network coding scheme examined the performance of codes where nodes are allowed to group together incoming bits into blocks of a predetermined length, m. The resulting symbols are then treated as elements in a finite field having a size of 2m. This scheme then performs a linear combination on the symbols in the finite field to produce outgoing symbols which are elements in a finite field. Decoding at receiver nodes is also a linear operation over the finite field on the incoming symbols. This scheme also provides techniques for examining multicast scenarios, such as, for example, certain edge failure patterns may occur, networks with delay, and other special encoding scenarios (such as when all sources wish to transmit all their information to all sinks in the network).
However, this scheme for coding acyclic networks has several drawbacks. For example, where N represents a number of receivers in the network and C represents a cutset capacity of the network, the solution to the multicast problem requires a field size q for the network codes to be larger then NC. This number quickly becomes impractically large for arithmetic implementation as the size of N and C increase. Further, the resulting codes would involve “flooding” the network, thereby likely using more network edges than would otherwise be necessary for the same or greater network capacity.
Therefore, what is needed is a system and method for coding networks that overcomes the disadvantages of the aforementioned schemes. For example, such a system and method should provide construction techniques for practical multicast codes. Further, these multicast code construction techniques should limit the complexity of network coding, even on large networks, such that any arithmetic computations are feasible. Finally, the resulting network codes should avoid flooding of the network in order to optimize capacity.